import logging as logger

from mcp.server.fastmcp import FastMCP

from a1_flight_service import CityFlightServer

# 初始化 MCP 服务器
mcp = FastMCP("CityFlightServer", host="0.0.0.0", port=7000)
# 初始化城市航班服务器
city_flight_server = CityFlightServer()


# 获取城市航班的工具
@mcp.tool()
async def get_city_flight(city: str) -> str:
    """获取指定城市的航班信息。

    参数:
    city (str): 城市名称

    返回:
    str: 城市的航班信息描述
    """
    city_flight_info = await city_flight_server.get_city_flight(city)
    return city_flight_info


# 主程序
if __name__ == "__main__":
    logger.info("运行MCP客户端，使用Server-Sent Events(SSE)作为传输协议->城市航班服务器监听 http://0.0.0.0:7000/sse")
    mcp.run(transport="sse")
